Python 代码精简和优化

本文探讨了如何优化Python动态库的大小,包括使用strip命令、代码优化选项-O3、去除Doc String以及禁用unicode支持。此外,还介绍了减小Python扩展库大小的方法,如使用python -OO -m compileall命令生成pyo文件,并警告避免使用绝对路径以避免增加内存占用。最后提到了py2exe工具在打包时的裁减技巧,以及找出模块依赖的方法。
摘要由CSDN通过智能技术生成

Python很简单,容易使用,开发效率很高,移植性很好,代码资源也很丰富,被广泛使用。但是Python代码编出来的动态库比较大,python库很全,缺点就是库比较大。

在内存占用方法,随着py库的引入,内存也成倍的增加,这里来讨论下如何来给Python瘦身,以及如何优化内存的占用。


一、如何给Python的动态库瘦身。

Python的代码还是很精练的,所以要减小小代码的大小比较困难,但是仍然有一些思路来减小Python库的大小。

1、strip python动态库。

动态库一般都是包含符号表,这些在调用的时候很有用,但是对于release版本,完全可以把符号表去调,方法就是用strip命令,这样大小可以从八九兆锐减到3兆以内。

2、使用代码优化选项:-O3,该参数会对代码进行最大程度的优化,包括优化生成的二进制代码的大小,缺点是优化后会对调试带来困难。

3、去除代码中的Doc String.

Python的代码里有用PyDoc_STRVAR宏定义的模块的帮助说明,这些是可以去掉的,方法是在configure的时候指定--without-doc-strings,这样生成的pyconfig.h中就会不会有下面的定义:

#define WITH_DOC_STRINGS 1

这可以减小生成的动态库的大小,当然在运行时也可以减小模块的内存的占用,因为这些模块不再包含帮助信息。

4、去掉unicode支持。

python中unicode支持不是必需的,当然python 3另当别论。python中要支持unicode可以采用utf-8编码的方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值